package com.ruoyi.report_tg.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.report_wjjhl.domain.vo.WdclzdgmdBaDetailVo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import java.util.List;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 土击实试验检测报告业务对象 report_tg_tjssybg_bs_info
 *
 * @author zyb
 * @date 2024-10-28
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class TjssybgBsInfoBo extends ExcelGeneralBo {

    /**
     * 一份excel表格的唯一id(其他的excel主表，都应有此字段）
     */
    @NotNull(message = "一份excel表格的唯一id(其他的excel主表，都应有此字段）不能为空", groups = { EditGroup.class })
    private Long excelId;

    /**
     * 共几页
     */
    @NotNull(message = "共几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long totalPage;

    /**
     * 第几页
     */
    @NotNull(message = "第几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long page;

    /**
     * 报告编号
     */
    @NotBlank(message = "报告编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String baogbh;

    /**
     * 检测单位名称
     */
    @NotBlank(message = "检测单位名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancdwmc;

    /**
     * 工程部位/用途
     */
    @NotBlank(message = "工程部位/用途不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcbwyt;

    /**
     * 样品名称
     */
    @NotBlank(message = "样品名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpmc;

    /**
     * 样品编号
     */
    @NotBlank(message = "样品编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpbh;

    /**
     * 样品数量
     */
    @NotBlank(message = "样品数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsl;

    /**
     * 样品状态
     */
    @NotBlank(message = "样品状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpzt;

    /**
     * 样品时间
     */
    @NotBlank(message = "样品时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsj;

    /**
     * 检测日期
     */
    @NotBlank(message = "检测日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancrq;

    /**
     * 试验条件温度
     */
    @NotBlank(message = "试验条件温度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjwd;

    /**
     * 试验条件湿度
     */
    @NotBlank(message = "试验条件湿度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjsd;

    /**
     * 检测依据
     */
    @NotBlank(message = "检测依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyj;

    /**
     * 判定依据
     */
    @NotBlank(message = "判定依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyj;

    /**
     * 主要仪器设备名称及编号
     */
    @NotBlank(message = "主要仪器设备名称及编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zhuyyqsbmcjbh;

    /**
     * 取样位置
     */
    @NotBlank(message = "取样位置不能为空", groups = { AddGroup.class, EditGroup.class })
    private String quywz;

    /**
     * 委托/任务编号
     */
    @NotBlank(message = "委托/任务编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String weitrwbh;

    /**
     * 土样产地
     */
    @NotBlank(message = "土样产地不能为空", groups = { AddGroup.class, EditGroup.class })
    private String tuycd;

    /**
     * 代表数量
     */
    @NotBlank(message = "代表数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String daibsl;

    /**
     * 附加声明
     */
    @NotBlank(message = "附加声明不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fujsm;

    /**
     * 检测结论
     */
    @NotBlank(message = "检测结论不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancjl;

    /**
     * 施工委托单位
     */
    @NotBlank(message = "施工委托单位不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shigwtdw;

    /**
     * 工程名称
     */
    @NotBlank(message = "工程名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcmc;

    /**
     * 设备id逗号分隔
     */
    @NotBlank(message = "设备id逗号分隔不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shebIds;

    /**
     * 标识该表是报告
     */
    @NotBlank(message = "标识该表是报告不能为空", groups = { AddGroup.class, EditGroup.class })
    private String bgFlag;

    /**
     * 检测依据ids
     */
    @NotBlank(message = "检测依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyjIds;

    /**
     * 判定依据ids
     */
    @NotBlank(message = "判定依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyjIds;

    /**
     * 检测方法
     */
    @NotBlank(message = "检测方法不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancff;

    /**
     * 每层击数
     */
    @NotNull(message = "每层击数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long meicjs;

    /**
     * 结合料种类
     */
    @NotBlank(message = "结合料种类不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiehlzl;

    /**
     * 掺配比例
     */
    @NotBlank(message = "掺配比例不能为空", groups = { AddGroup.class, EditGroup.class })
    private String chanpbl;

    /**
     * 试样最大粒径
     */
    @NotNull(message = "试样最大粒径不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal shiyzdlj;

    /**
     * 筒容积
     */
    @NotNull(message = "筒容积不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal tongrj;

    /**
     * 击锤质量
     */
    @NotNull(message = "击锤质量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiczl;

    /**
     * 落距
     */
    @NotNull(message = "落距不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal luoj;

    /**
     * 结合料剂量
     */
    @NotNull(message = "结合料剂量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jiehljl;

    /**
     * 最大干密度1
     */
    @NotNull(message = "最大干密度1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal zuidgmd1;

    /**
     * 最大干密度2
     */
    @NotNull(message = "最大干密度2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal zuidgmd2;

    /**
     * 最大干密度均值
     */
    @NotNull(message = "最大干密度均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal zuidgmdjz;

    /**
     * 最佳含水率1
     */
    @NotNull(message = "最佳含水率1不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal zuijhsl1;

    /**
     * 最佳含水率2
     */
    @NotNull(message = "最佳含水率2不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal zuijhsl2;

    /**
     * 最佳含水率均值
     */
    @NotNull(message = "最佳含水率均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal zuijhsljz;

    /**
     * 修正后平均最佳含水率
     */
    @NotNull(message = "修正后平均最佳含水率不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal xiuzhpjzjhsl;

    /**
     * 修正后平均最大干密度
     */
    @NotNull(message = "修正后平均最大干密度不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal xiuzhpjzdgmd;

    /**
     * excel结果
     */
    @NotNull(message = "excel结果不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer excelResult;

    /**
     * 详细表
     */
    List<WdclzdgmdBaDetailVo> baDetailVos;

}
